約 2,945,595 件
https://w.atwiki.jp/pawatouch/pages/519.html
公式 パワプロ通信 http //www.konami.jp/pawa/index.php5 2013 公式HP http //www.konami.jp/products/touch_pp_2013/ app store https //itunes.apple.com/jp/app/pawafurupuro-ye-qiutouch2013/id619721445 google play https //play.google.com/store/apps/details?id=jp.konami.ppt2013 ~2012 ※一部機種が限定されるものも含みます 【サービス・販売終了】 パワフルプロ野球 TOUCH http //www.konami.jp/products/touch_pp/ パワフルプロ野球 TOUCH 公式ライセンス版2010 http //www.konami.jp/products/touch_pp_2010/ パワフルプロ野球TOUCH公式ライセンス版2011 http //www.konami.jp/products/touch_pp_2011/ パワフルプロ野球TOUCH 2012 http //www.konami.jp/products/touch_pp_2012/ パワフルプロ野球 2013 WORLD BASEBALL CLASSIC http //www.konami.jp/products/pp_2013_wbc/ TOUCHシリーズ以外のスマートフォン対応作品 ※このwikiでは基本的に取り扱うことはありません 【現行アプリ・ソーシャルゲーム】 モバイル・パワフルプロ野球3D http //www.konami.jp/products/pawa_android_3d/ モバイル パワフルプロ野球MEGA http //www.konami.jp/products/sphone_wm_pawapuromegax/ モバイル パワフルプロ野球 http //www.konami.jp/products/sphone_wm_pawapuro/ パワプロホームラン競争 for GREE http //www.konami.jp/products/sns_gre_hrderby/ モバイル・パワフルプロ野球2013 for auスマートパス http //www.konami.jp/products/sphone_asp_pp_2013/ パワプロ サクサクセス http //www.konami.jp/products/sphone_asp_ssuc/ 【サービス・販売終了】 パワフルプロ野球~毎日がクライマックス~ http //www.konami.jp/products/sns_pawapuro/index.html 2chスレ 現行スレ 【パワプロ】パワフルプロ野球TOUCH Part3【2013-】 http //anago.2ch.net/test/read.cgi/iPhone/1382948908/ したらば http //jbbs.livedoor.jp/bbs/read.cgi/game/47198/1369324309/ 過去スレ パワプロTOUCH2013 http //anago.2ch.net/test/read.cgi/iPhone/1365951421/ パワプロTOUCH2013 Part2 http //anago.2ch.net/test/read.cgi/iPhone/1375622662/
https://w.atwiki.jp/ewwiki/pages/221.html
2ch本スレ 1~100過去スレ 過去スレをご覧になりたい場合はスレッドタイトル後ろの ttp /~~~/ までをコピーし先頭に h を加えてリンク先に飛んで下さい 専用ブラウザ等はリンク先にてお確かめ下さるようお願いします。 【100万回】悠久の車輪100回転目【死んだ猫ぽ】 ttp //schiphol.2ch.net/test/read.cgi/arc/1228549082/ 【ドスミンで】悠久の車輪99回転目【ございます】 ttp //schiphol.2ch.net/test/read.cgi/arc/1228278344/ 【レイディ】悠久の車輪98回転目【ファイト!】 ttp //schiphol.2ch.net/test/read.cgi/arc/1228043582/ 【2ndEX】悠久の車輪97回転目【稼働。】 ttp //schiphol.2ch.net/test/read.cgi/arc/1227802099/ 【揺れ動かぬ】悠久の車輪96回転目【アルネ】 ttp //schiphol.2ch.net/test/read.cgi/arc/1227716164/ 【マカー】悠久の車輪95回転目【せなさい】 ttp //schiphol.2ch.net/test/read.cgi/arc/1227310431/ 【27日より】悠久の車輪94回転目【揺れ動く運命】 ttp //schiphol.2ch.net/test/read.cgi/arc/1226938812/ 【残り】悠久の車輪93回転目【2週】 ttp //schiphol.2ch.net/test/read.cgi/arc/1226585884/ 【クリは】悠久の車輪92回転目【いらんからな!】 ttp //schiphol.2ch.net/test/read.cgi/arc/1226225734/ 【ロタネー】悠久の車輪91回転目【仮釈放】 ttp //schiphol.2ch.net/test/read.cgi/arc/1225817026/ 【暗黒】悠久の車輪90回転目【アニス拳】 ttp //schiphol.2ch.net/test/read.cgi/arc/1225373455/ 【みなぎる】悠久の車輪89回転目【セチアさん】 ttp //schiphol.2ch.net/test/read.cgi/arc/1225039266/ 【南海奇皇】悠久の車輪88回転目【ネオナンガ】 ttp //schiphol.2ch.net/test/read.cgi/arc/1224479122/ 【ギルド】悠久の車輪87回転目【実装】 ttp //schiphol.2ch.net/test/read.cgi/arc/1223961975/ 【テイルズオブ】悠久の車輪86回転目【ルバース】 ttp //schiphol.2ch.net/test/read.cgi/arc/1223442041/ 【不思議の国の】悠久の車輪85回転目【アニス】 ttp //schiphol.2ch.net/test/read.cgi/arc/1223029150/ 【パンドラ】悠久の車輪84回転目【呪い歌】 ttp //schiphol.2ch.net/test/read.cgi/arc/1222355891/ 【青ロダ】悠久の車輪83回転目【アルビレオ】 ttp //schiphol.2ch.net/test/read.cgi/arc/1221719431/ 【片思いの】悠久の車輪82回転目【コンフリー】 ttp //schiphol.2ch.net/test/read.cgi/arc/1221244703/ 【鱈鮫VS】 悠久の車輪81回転目 【ドラゾン】 ttp //schiphol.2ch.net/test/read.cgi/arc/1220881528/ 【合金合体】 悠久の車輪80回転目 【グラン☆ピュータ】 ttp //schiphol.2ch.net/test/read.cgi/arc/1220529070/ 悠久の車輪79回転目 ttp //schiphol.2ch.net/test/read.cgi/arc/1220243245/ 【魔方陣】悠久の車輪78回転目【ルグルグル】 ttp //www.23ch.info/test/read.cgi/arc/1219897656/ 【ステラの】悠久の車輪77回転目【カステラ】 ttp //www.23ch.info/test/read.cgi/arc/1219590222/ 【私女だけど】悠久の車輪76回転目【プレデタン】 ttp //www.23ch.info/test/read.cgi/arc/1219204662/ 【ティートって】悠久の車輪75回転目【便利だな】 ttp //www.23ch.info/test/read.cgi/arc/1218892658/ 【バハムートより】悠久の車輪74回転目【速ーい】 ttp //www.23ch.info/test/read.cgi/arc/1218603634/ 【究極巫女】悠久の車輪73回転目【ドガリス】 ttp //www.23ch.info/test/read.cgi/arc/1218347280/ 【守護魔人】悠久の車輪72回転目【シャイたん】 ttp //www.23ch.info/test/read.cgi/arc/1218073644/ 【アレキさん】悠久の車輪71回転目【ここにねむる】 ttp //www.23ch.info/test/read.cgi/arc/1217780530/ 【痴漢の紳士】悠久の車輪69回転目【ついに逮捕】(実質70回転目) ttp //www.23ch.info/test/read.cgi/arc/1217556705/ 【出費が】悠久の車輪69回転目【カサンドラ】 ttp //www.23ch.info/test/read.cgi/arc/1217392979/ 【やったね】悠久の車輪68回転目【コロちゃん】 ttp //www.23ch.info/test/read.cgi/arc/1217258593/ 【29日Ver.up】悠久の車輪67回転目【聖剣の行方】 ttp //www.23ch.info/test/read.cgi/arc/1217074350/ 【教官】悠久の車輪66回転目【やる夫】 ttp //www.23ch.info/test/read.cgi/arc/1216790390/ 【鉄壁の胸囲】悠久の車輪65回転目【ガーベラ】 ttp //www.23ch.info/test/read.cgi/arc/1216373706/ 【孤独の】悠久の車輪64回転目【イヴィー】 ttp //www.23ch.info/test/read.cgi/arc/1216042493/ 【ルイ】悠久の車輪63回転目【ヴァトン】 ttp //www.23ch.info/test/read.cgi/arc/1215696361/ 【混沌の種】悠久の車輪62回転目【パンチラ】 ttp //www.23ch.info/test/read.cgi/arc/1215335324/ 【目を引く胸の】悠久の車輪61回転目【ユーチャリス】 ttp //www.23ch.info/test/read.cgi/arc/1214979743/ 【新カード追加情報】悠久の車輪60回転目【配列改善】 ttp //www.23ch.info/test/read.cgi/arc/1214704392/ 【京橋】悠久の車輪59回転目【フランシャドー】 ttp //www.23ch.info/test/read.cgi/arc/1214497582/ 【日曜日は】悠久の車輪58回転目【ダルイ明日】 ttp //www.23ch.info/test/read.cgi/arc/1214056182/ 【雨】悠久の車輪57回転目【ときどきジュンガ】 ttp //www.23ch.info/test/read.cgi/arc/1213766623/ 【わたしの】悠久の車輪56回転目【スタックで】 ttp //www.23ch.info/test/read.cgi/arc/1213582465/ 【はじめての】悠久の車輪55回転目【御使いの車輪】 ttp //www.23ch.info/test/read.cgi/arc/1213284722/ 【イーティン】悠久の車輪54回転目【グー】 ttp //www.23ch.info/test/read.cgi/arc/1213026502/ 【リード】悠久の車輪53回転目【って便利だな】 ttp //www.23ch.info/test/read.cgi/arc/1212769385/ 【ナンテチカラダ!】悠久の車輪52回転目【ナンテチカラダ!】 ttp //www.23ch.info/test/read.cgi/arc/1212495554/ 【調教師】悠久の車輪 51回転目【ボリジ】 ttp //www.23ch.info/test/read.cgi/arc/1212174611/ 【捕獲する】悠久の車輪 50回転目【ロタネー】 ttp //www.23ch.info/test/read.cgi/arc/1211910089/ 【ララコ】悠久の車輪 49回転目【マカシシャ】 ttp //www.23ch.info/test/read.cgi/arc/1211711818/ 【勝-2】悠久の車輪 48回転目【負-32】 ttp //www.23ch.info/test/read.cgi/arc/1211521293/ 【江戸】悠久の車輪 47回転目【ハリス】 ttp //www.23ch.info/test/read.cgi/arc/1211289403/ 【ドルビーデジタル】悠久の車輪46回転目【サウザンド】 ttp //www.23ch.info/test/read.cgi/arc/1211094170/ 【電車の紳士】悠久の車輪45回転目【ロタネー】 ttp //www.23ch.info/test/read.cgi/arc/1210857024/ 【光の騎士】悠久の車輪44回転目【今北産業】 ttp //www.23ch.info/test/read.cgi/arc/1210641592/ 【白だけど】悠久の車輪43回転目【ダーク】 ttp //www.23ch.info/test/read.cgi/arc/1210422607/ 【やったね】悠久の車輪42回転目【コロちゃん!】 ttp //www.23ch.info/test/read.cgi/arc/1210227736/ 【古竜の頭蓋】悠久の車輪41回転目【x6】 ttp //www.23ch.info/test/read.cgi/arc/1210006267/ 【暴れ牛鳥を追う】悠久の車輪40回転目【ネカル】 ttp //www.23ch.info/test/read.cgi/arc/1209816069/ 【限界の魔乳】悠久の車輪39回転目【アイリス】 ttp //www.23ch.info/test/read.cgi/arc/1209642715/ 【光物は】悠久の車輪38回転目【寿司屋でがまん】 ttp //www.23ch.info/test/read.cgi/arc/1209437386/ 【いいえ】悠久の車輪37回転目【クフェアです】 ttp //www.23ch.info/test/read.cgi/arc/1209219830/ 【有休の】悠久の車輪35回転目【シャローン】(実質36回転目) ttp //www.23ch.info/test/read.cgi/arc/1209002321/ 【なんで弱いんだ】悠久の車輪35回転目【ザウラク】 ttp //www.23ch.info/test/read.cgi/arc/1208851864/ 【横浜東口】悠久の車輪34回転目【地下街ポルタ】 ttp //www.23ch.info/test/read.cgi/arc/1208681110/ 【ナンガは】悠久の車輪33回転目【農民】 ttp //www.23ch.info/test/read.cgi/arc/1208514782/ 【深淵に棲む】悠久の車輪32回転目【エドはるみ】 ttp //www.23ch.info/test/read.cgi/arc/1208367000/ 【お魚咥えた】悠久の車輪31回転目【ドラセナ】 ttp //www.23ch.info/test/read.cgi/arc/1208247755/ 【やる夫が】悠久の車輪29回転目【⑨】(実質30回転目) ttp //www.23ch.info/test/read.cgi/arc/1208099809/ 【大平原の】悠久の車輪29回転目【ガーベラ】 ttp //www.23ch.info/test/read.cgi/arc/1207958775/ 【槍の支度する】悠久の車輪28回転目【フリ】 ttp //www.23ch.info/test/read.cgi/arc/1207834617/ 【ネメシア】悠久の車輪27回転目【大勝利!】 ttp //www.23ch.info/test/read.cgi/arc/1207673740/ 【卵胎生で】悠久の車輪26回転目【ございます】 ttp //www.23ch.info/test/read.cgi/arc/1207562782/ 【うたた寝の】悠久の車輪25回転目【ザウラク】 ttp //www.23ch.info/test/read.cgi/arc/1207412344/ 【ザウラクの】悠久の車輪24回転目【ことかー!】 ttp //www.23ch.info/test/read.cgi/arc/1207310020/ 【(´●ω●`)】悠久の車輪23回転目【アーライ】 ttp //www.23ch.info/test/read.cgi/arc/1207199399/ 【カワイソス】悠久の車輪 22回転目【ティアーズ】 ttp //www.23ch.info/test/read.cgi/arc/1207066733/ 【ユグドラ】悠久の車輪 21回転目【隠居】 ttp //www.23ch.info/test/read.cgi/arc/1206963488/ 【10コス藁】悠久の車輪 20回転目【羽織デッキ】 ttp //www.23ch.info/test/read.cgi/arc/1206812186/ 【西大寺】悠久の車輪 19回転目【ゴルガル祭り】 ttp //www.23ch.info/test/read.cgi/arc/1206712422/ 【面接の魔女】悠久の車輪 18回転目【ジェダ】 ttp //www.23ch.info/test/read.cgi/arc/1206618746/ 【つるはしメイド】悠久の車輪 17回転目【オレガノ】 ttp //www.23ch.info/test/read.cgi/arc/1206530729/ 【ジェダ様に】悠久の車輪 16回転目【踏まれたい】 ttp //www.23ch.info/test/read.cgi/arc/1206428794/ 【(´・ω・`)゙】悠久の車輪 15回転目【シャローン】 ttp //www.23ch.info/test/read.cgi/arc/1206318476/ 【湖の騎士】悠久の車輪 14回転目【レマン】 ttp //www.23ch.info/test/read.cgi/arc/1206198155/ 【失踪する】悠久の車輪 13回転目【ユキチ】 ttp //www.23ch.info/test/read.cgi/arc/1206106552/ 【暴騰ゴブリン】悠久の車輪 12回転目【オユー】 ttp //www.23ch.info/test/read.cgi/arc/1206012227/ 【忘れられる】悠久の車輪 11回転目【ボリジ】 ttp //www.23ch.info/test/read.cgi/arc/1205927687/ 【片思いの】悠久の車輪 10回転目【ウィンドメア】 ttp //www.23ch.info/test/read.cgi/arc/1205846111/ 【スターターが】悠久の車輪 9回転目【ガチ】 ttp //www.23ch.info/test/read.cgi/arc/1205763074/ 【まだまだ】悠久の車輪 8回転目【研究中】 ttp //www.23ch.info/test/read.cgi/arc/1205682966/ 【深き森の】悠久の車輪 7回転目【KOTOKO】 ttp //www.23ch.info/test/read.cgi/arc/1205604082/ 【3コス鮫王】悠久の車輪 6回転目【5コス森姫】 ttp //www.23ch.info/test/read.cgi/arc/1205538464/ 【エルフ】悠久の車輪 5回転目【タコ】 ttp //www.23ch.info/test/read.cgi/arc/1205455929/ 【鬼配列で】悠久の車輪 4回転目【ございます】 ttp //www.23ch.info/test/read.cgi/arc/1205314331/ 【いよいよ本稼動】悠久の車輪 3回転目【3/11~】 ttp //www.23ch.info/test/read.cgi/arc/1204712437/ 【スクエニ】悠久の車輪 2回転目【タイトー】 ttp //www.23ch.info/test/read.cgi/arc/1195798396/ 悠久の車輪スレ(1スレ目) ttp //www.23ch.info/test/read.cgi/arc/1180700261/ トップページへ戻る
https://w.atwiki.jp/sampleisbest/pages/185.html
開発環境 Microsoft Visual C# 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 空のプロジェクト プロジェクト名 Jien2ch Jien2chプロジェクトにクラスを追加。 テンプレート:クラス 名前:ListViewEx textBox1を削除。 Jien2ch コンポーネント/ListViewExをPanel2上にドロップ。 名前:listViewEx1 Dock Fill Lib2ch.DataをDataクラスにまとめた。 +Jien2ch +Form1.cs +Form1.Designer.cs +ListViewEx.cs +Program.cs +Lib2ch +Data +Data.cs +IO +File.cs +FileManager.cs +Model +BbsMenu.cs +Subject.cs namespace Jien2ch Program.cs using System.Windows.Forms; namespace Jien2ch { class Program { static void Main() { Application.Run(new Form1()); } } } Form1.cs using System; using System.Collections.Generic; using System.Windows.Forms; using Lib2ch.Data; using Lib2ch.Model; namespace Jien2ch { public partial class Form1 Form { Subject _Subject = new Subject(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { #region 板一覧 BbsMenu bbsMenu = new BbsMenu(); List BbsMenuItem bbsMenuList = bbsMenu.GetMenuList(); foreach (BbsMenuItem item in bbsMenuList) { TreeNode childNode = new TreeNode(); //childNode.Name = item.Name; childNode.Text = item.Name; childNode.Tag = item; // 親ノード検索 TreeNode[] node = treeView1.Nodes.Find(item.CategoryName, false); if (node.Length == 0) { TreeNode parent = new TreeNode(); parent.Name = item.CategoryName;// 検索用 parent.Text = parent.Name;// 表示用 parent.Nodes.Add(childNode); treeView1.Nodes.Add(parent); } else { node[0].Nodes.Add(childNode); } } #endregion } #region 板一覧アイテム選択時 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.Tag != null) { ThreadListAdd((BbsMenuItem)e.Node.Tag); } } // スレッド一覧 void ThreadListAdd(BbsMenuItem bbsMenuItem) { SubjectList subjectList = _Subject.Get(bbsMenuItem); listViewEx1.ItemSet(subjectList); } #endregion } } ListViewEx.cs using System.Windows.Forms; using Lib2ch.Data; namespace Jien2ch { class ListViewEx ListView { public ListViewEx() { // プロパティ View = View.Details; FullRowSelect = true; GridLines = true; // 列ヘッダ Columns.Add("!", 20);// 1列目は右寄せできないのでダミー Columns.Add("番号", 40, HorizontalAlignment.Right); Columns.Add("タイトル", 450); Columns.Add("レス", 40, HorizontalAlignment.Right); } public void ItemSet(SubjectList subjectList) { ListViewItem[] item = new ListViewItem[subjectList.List.Count]; int num = 0;// 番号 foreach (SubjectData data in subjectList.List) { string[] line = new string[4]; //line[0] = ; line[1] = (num + 1).ToString(); line[2] = data.Title; line[3] = data.Count.ToString(); item[num] = new ListViewItem(line); item[num].Tag = data; num++; } Items.AddRange(item); Tag = subjectList; } } } namespace Lib2ch.Data Data.cs using System; using System.Collections.Generic; namespace Lib2ch.Data { // 板一覧アイテム public class BbsMenuItem { public string CategoryName;// カテゴリ名 public string Name;// 板名 public string Url;// URL public string Directory { get { return "/" + CategoryName + "/" + Name; } } } // ファイル結果 class FileResult { public List string Line = new List string ();// 行リスト } // スレッドデータ public class SubjectData BbsMenuItem { string FileName;// スレッドファイル名(.dat) public string Title;// タイトル public int Count;// レス数 public SubjectData(string line) { if (line == "") return; FileName = line.Substring(0, 14); int start = line.LastIndexOf("("); int end = line.LastIndexOf(")"); Count = Convert.ToInt32(line.Substring(start+1, end - (start+1))); Title = line.Substring(16, start - 16); } } // スレッド一覧 public class SubjectList BbsMenuItem { public List SubjectData List = new List SubjectData (); public void Parsing(List string data) { foreach (string line in data) { SubjectData subjectData = new SubjectData(line); subjectData.CategoryName = CategoryName; subjectData.Name = Name; subjectData.Url = Url; List.Add(subjectData); } } } } namespace Lib2ch.IO File.cs using System.IO; using System.Collections.Generic; using System.Net; using System.Text; using Lib2ch.Data; namespace Lib2ch.IO { class File { Encoding _Type = Encoding.GetEncoding("Shift_JIS"); protected FileResult LocalReader(string path) { try { FileResult fileResult = new FileResult(); using (StreamReader sr = new StreamReader(path, _Type)) { string line; while ((line = sr.ReadLine()) != null) { fileResult.Line.Add(line); } } return fileResult; } catch { return null; } } protected FileResult UrlReader(string url) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.UserAgent = "Monazilla/1.00(Jien2ch/Lib2ch)"; req.AddRange(0); req.KeepAlive = false; req.Headers.Add("Pragma", "no-cache"); req.Headers.Add("Cache-Control", "no-cache"); WebResponse res = null; FileResult fileResult = new FileResult(); try { res = req.GetResponse(); } catch (WebException) { return fileResult; } using (Stream stream = res.GetResponseStream()) { using (StreamReader sr = new StreamReader(stream, _Type)) { string line; while ((line = sr.ReadLine()) != null) { fileResult.Line.Add(line); } } } return fileResult; } protected bool LocalWriter(string dir, string file, List string writeData) { if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } try { using (StreamWriter sw = new StreamWriter(dir + file, false, _Type)) { sw.NewLine = "\n"; foreach (string line in writeData) { sw.WriteLine(line); } } return true; } catch { return false; } } } } FileManager.cs using Lib2ch.Data; namespace Lib2ch.IO { class FileManager File { public FileResult StandardCheck(string path, string host, string fileName) { FileResult fileResult = new FileResult(); fileResult = LocalReader(path + fileName); if (fileResult == null) { // サーバーからダウンロード fileResult = UrlReader(host + fileName); if (fileResult == null) return null; // ファイルの書き込み if (!LocalWriter(path, fileName, fileResult.Line)) { return null; } } return fileResult; } } } namespace Lib2ch.Model BbsMenu.cs using System.Collections.Generic; using Lib2ch.Data; using Lib2ch.IO; namespace Lib2ch.Model { // 板一覧 public class BbsMenu { string _Path = "./Log"; string _FileName = "/bbsmenu.html"; string _Host = "http //menu.2ch.net"; string _CateStart = " BR BR B "; string _CateEnd = " /B "; string _BbsStart = " A HREF="; string _UrlEnd1 = "/ "; string _UrlEnd2 = "/ TARGET=_blank "; string _BbsEnd = " /A "; FileManager _File = new FileManager(); public List BbsMenuItem GetMenuList() { // ファイルの有無 FileResult fileResult = _File.StandardCheck(_Path, _Host, _FileName); if (fileResult == null) return null; // 解析処理 return BbsMenuParsing(fileResult.Line); } List BbsMenuItem BbsMenuParsing(List string data) { List BbsMenuItem list = new List BbsMenuItem (); string parent = null; foreach (string line in data) { // カテゴリ // BR BR B (parent) /B int index1 = line.IndexOf(_CateStart); if (index1 != -1) { int index2 = line.IndexOf(_CateEnd); if (index2 != -1) { int start = index1 + _CateStart.Length; parent = line.Substring(start, index2 - start); } } if (parent == null) continue; BbsMenuItem item = BbsMenuFindLine(line, _BbsStart, _UrlEnd1, _BbsEnd); if (item == null) { item = BbsMenuFindLine(line, _BbsStart, _UrlEnd2, _BbsEnd); } if (item != null) { item.CategoryName = parent; list.Add(item); } } return list; } // 板のURLと名前を取得 // A HREF=(Url)/ (Name) /A // A HREF=(Url)/ TARGET=_blank (Name) /A BbsMenuItem BbsMenuFindLine(string line, string word1, string word2, string word3) { int index1 = line.IndexOf(word1); if (index1 == -1) return null; int index2 = line.IndexOf(word2); if (index2 == -1) return null; int index3 = line.IndexOf(word3); if (index3 == -1) return null; BbsMenuItem item = new BbsMenuItem(); int start1 = index1 + word1.Length; int start2 = index2 + word2.Length; item.Url = line.Substring(start1, index2 - start1); item.Name = line.Substring(start2, index3 - start2); return item; } } } Subject.cs using Lib2ch.Data; using Lib2ch.IO; namespace Lib2ch.Model { // スレッド一覧 public class Subject { FileManager _File = new FileManager(); public SubjectList Get(BbsMenuItem bbsMenuItem) { SubjectList subjectList = new SubjectList(); subjectList.Name = bbsMenuItem.Name; subjectList.Url = bbsMenuItem.Url; subjectList.CategoryName = bbsMenuItem.CategoryName; FileResult fileResult = _File.StandardCheck( "./Log" + subjectList.Directory, subjectList.Url, "/subject.txt"); if (fileResult == null) return null; subjectList.Parsing(fileResult.Line); return subjectList; } } }
https://w.atwiki.jp/shiga_keiichi/pages/21.html
!extend checked vvvvv 1000 512 !extend checked vvvvv 1000 512 ↑ 次スレを立てる時は、冒頭にこれを2行書いて下さい。 Linuxの日本語翻訳で国際的な活躍をされている志賀慶一氏を語るスレです 【渦中の人物について】 本名は志賀慶一、ハンドルネームはふうせん、fu-sen、BALLOONなど。 ツイッターのアカウントは https //twitter.com/balloon_vendor 15年ほど前から2chに専用スレが立っている。個人事業主。 Linux関連の紹介ページの作成やOSSの翻訳などを行っていたが、 翻訳にWeb翻訳サービスを使っていることを自白し、翻訳活動から撤退。 過去にはWordPressやWikipediaで活動していたこともあった様子。 http //ja.forums.wordpress.org/topic/13830 https //ja.wikipedia.org/wiki/%E5%88%A9%E7%94%A8%E8%80%85 %E5%BF%97%E8%B3%80_%E6%85%B6%E4%B8%80 志賀慶一氏の略歴はこちら https //jp.linkedin.com/in/keiichi/ja 関連サイト 志賀慶一氏による機械翻訳の混入 (ライセンス違反) 問題まとめ https //w.atwiki.jp/shiga_keiichi/ スレテンプレ https //w.atwiki.jp/shiga_keiichi/pages/21.html 前スレ Web翻訳家 志賀慶一氏を語るスレ NNN http //mao.5ch.net/test/read.cgi/linux/----------/ 大まかな流れ (→ 大まかな流れをコピペ) 各プロジェクトの動向 revert作業などが完了したプロジェクト 再翻訳完了 Ubuntu / MATE / budgie-desktop など revert完了 Linux Mint / Enlightenment など 動向が不明なプロジェクト Elementary OS (Ubuntu派生/非公式) - Transifexへの移行によりLaunchpad上から翻訳が消滅 SliTaz (独自) - 志賀氏の翻訳を維持する方向らしいが詳細不明 SparkyLinux (Debian派生) - 志賀氏の翻訳を維持する方向らしいが詳細不明 (より詳細な情報はこちら) 志賀慶一氏が関わったプロジェクト https //www65.atwiki.jp/shiga_keiichi/pages/13.html 現時点での各プロジェクトの動向 https //www65.atwiki.jp/shiga_keiichi/pages/14.html Ubuntu Japanese Team関係者の発言まとめ (→ Ubuntu Japanese Team関係者の発言をコピペ) 志賀慶一氏に関するブログ Web翻訳の結果をオープンソースソフトウェア(OSS)の翻訳に突っ込んではいけませんという話 http //blog.goo.ne.jp/ikunya/e/37e5a52e10ab26fcbd4f7ff867e9eace Web翻訳の結果を公開のメーリングリストに投稿する場合は注意が必要という話 http //blog.goo.ne.jp/ikunya/e/82517fcba5520bbcda0b017ef2059198 ■[雑記]「Web翻訳の結果をオープンソースソフトウェア(OSS)の翻訳に突っ込んではいけませんという話」にからんで。 http //d.hatena.ne.jp/namikawamisaki/20170223/p1 【ふうせん】OSS翻訳騒動の経緯と問題点【志賀慶一】 http //micachi.blog.jp/archives/2017_02_26_1064591617.html 志賀慶一氏が、あわしろいくや氏に対して何やかんや http //green-destiny.blog.jp/archives/1013612226.html Manjaro Japanと志賀慶一氏の意味不明な行動について http //green-destiny.blog.jp/archives/1064056321.html Manjaro Japanという名のサイトについて(私は関与していません。) http //rago1975.blog.shinobi.jp/manjaro_linux/0068 Fu-sen.さんについて https //chienomi.org/archives/digi/digi-topic/525 志賀慶一ヤバイ。 http //anond.hatelabo.jp/20170414010335 問題確定までの時系列 (→ 問題確定までの時系列をコピペ) ※行数制限のため分割して投稿して下さい(水平線が目安) FLOSSの翻訳で機械翻訳の出力をベースにすると、なぜライセンス違反になるのか (→ なぜライセンス違反になるのかをコピペ)
https://w.atwiki.jp/sampleisbest/pages/186.html
開発環境 Microsoft Visual C# 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 空のプロジェクト プロジェクト名 Jien2ch listViewEx1を削除。 コンテナー/SplitContainerをPanel2上にドロップ。 名前:splitContainer2 FixedPanel Panel1 Jien2ch コンポーネント/ListViewExをsplitContainer2.Panel1上にドロップ。 名前:listViewEx1 Dock Fill コモン コントロール/TextBoxをsplitContainer2.Panel2上にドロップ。 名前:textBox1 Dock Fill MultiLine True ScrollBars Vertical listViewEx1にSelectedIndexChangedイベントハンドラを追加。 Lib2ch.DataにDatクラスを追加。 Lib2ch.DataにDatResクラスを追加。 Lib2ch.ModelにThreadDatクラスを追加。 +Jien2chプロジェクト +Form1.csフォームクラス +Form1.Designer.csフォームデザイナー +ListViewEx.csリストビュークラス +Program.csプログラムクラス +Lib2chクラスライブラリ +Dataデータ名前空間 +Data.csデータクラス +IOIO名前空間 +File.csファイルクラス +FileManager.csファイル管理クラス +Modelモデル名前空間 +BbsMenu.cs板一覧クラス +Subject.csスレッド一覧クラス +ThreadDat.csスレッドdatクラス namespace Jien2ch Program.cs using System; using System.Windows.Forms; namespace Jien2ch { class Program { [STAThread]// Single-Threaded Apartment static void Main() { Application.Run(new Form1()); } } } Form1.cs using System; using System.Collections.Generic; using System.Windows.Forms; using Lib2ch.Data; using Lib2ch.Model; namespace Jien2ch { public partial class Form1 Form { Subject _Subject = new Subject(); ThreadDat _ThreadDat = new ThreadDat(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { #region 板一覧 BbsMenu bbsMenu = new BbsMenu(); List BbsMenuItem bbsMenuList = bbsMenu.GetMenuList(); foreach (BbsMenuItem item in bbsMenuList) { TreeNode childNode = new TreeNode(); //childNode.Name = item.Name; childNode.Text = item.BbsName; childNode.Tag = item; // 親ノード検索 TreeNode[] node = treeView1.Nodes.Find(item.Category, false); if (node.Length == 0) { TreeNode parent = new TreeNode(); parent.Name = item.Category;// 検索用 parent.Text = parent.Name;// 表示用 parent.Nodes.Add(childNode); treeView1.Nodes.Add(parent); } else { node[0].Nodes.Add(childNode); } } #endregion } #region 板一覧アイテム選択時 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.Tag != null) { ThreadListAdd((BbsMenuItem)e.Node.Tag); } } // スレッド一覧 void ThreadListAdd(BbsMenuItem bbsMenuItem) { SubjectList subjectList = _Subject.Get(bbsMenuItem); listViewEx1.ItemSet(subjectList); } #endregion #region スレッド一覧アイテム選択時 private void listViewEx1_SelectedIndexChanged(object sender, EventArgs e) { ListViewEx listView = (ListViewEx)sender; if (listView.SelectedItems.Count == 0) return; SubjectData subjectData = (SubjectData)listView.SelectedItems[0].Tag; //textBox1.Text = subjectData.FileName + subjectData.Title; ThreadViewAdd(subjectData); } void ThreadViewAdd(SubjectData subjectData) { Dat dat = _ThreadDat.Get(subjectData); //webBrowserEx1.ItemSet(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); int num = 0;// 番号 foreach (DatRes datRes in dat.Res) { num++; sb.Append(num + " [" + datRes.Data + "]\r\n"); } textBox1.Text = sb.ToString(); } #endregion } } ListViewEx.cs using System.Windows.Forms; using Lib2ch.Data; namespace Jien2ch { class ListViewEx ListView { public ListViewEx() { // プロパティ View = View.Details; FullRowSelect = true; GridLines = true; // 列ヘッダ Columns.Add("!", 20);// 1列目は右寄せできないのでダミー Columns.Add("番号", 40, HorizontalAlignment.Right); Columns.Add("タイトル", 450); Columns.Add("レス", 40, HorizontalAlignment.Right); } public void ItemSet(SubjectList subjectList) { ListViewItem[] item = new ListViewItem[subjectList.List.Count]; int num = 0;// 番号 foreach (SubjectData data in subjectList.List) { string[] line = new string[4]; //line[0] = ; line[1] = (num + 1).ToString(); line[2] = data.Title; line[3] = data.Count.ToString(); item[num] = new ListViewItem(line); item[num].Tag = data; num++; } Items.AddRange(item); Tag = subjectList; } } } namespace Lib2ch.Data Data.cs using System; using System.Collections.Generic; namespace Lib2ch.Data { // 板一覧アイテム public class BbsMenuItem { public string Category;// カテゴリ名 public string BbsName;// 板名 public string Url;// URL public string Directory { get { return "/" + Category + "/" + BbsName; } } } // ファイル結果 class FileResult { public List string Line = new List string ();// 行リスト } // スレッドデータ public class SubjectData BbsMenuItem { public string FileName;// スレッドファイル名(.dat) public string Title;// タイトル public int Count;// レス数 public SubjectData(string line) { if (line == "") return; FileName = line.Substring(0, 14); int start = line.LastIndexOf("("); int end = line.LastIndexOf(")"); Count = Convert.ToInt32(line.Substring(start+1, end - (start+1))); Title = line.Substring(16, start - 16); } } // スレッド一覧 public class SubjectList BbsMenuItem { public List SubjectData List = new List SubjectData (); public void Parsing(List string data) { foreach (string line in data) { SubjectData subjectData = new SubjectData(line); subjectData.Category = Category; subjectData.BbsName = BbsName; subjectData.Url = Url; List.Add(subjectData); } } } // スレッドデータ public class Dat SubjectData { public List DatRes Res = new List DatRes (); public Dat() base("") { } public void Parsing(List string data) { if (data.Count 1) { DatRes datRes = new DatRes(); data[0] = datRes.Title(data[0]); datRes.Res(data[0]); Res.Add(datRes); } for (int n = 1; n data.Count; n++) { DatRes datRes = new DatRes(); datRes.Res(data[n]); Res.Add(datRes); } } } public class DatRes { public string Data; public void Res(string line) { Data = line; } public string Title(string line) { return line; } } } namespace Lib2ch.IO File.cs using System.IO; using System.Collections.Generic; using System.Net; using System.Text; using Lib2ch.Data; namespace Lib2ch.IO { class File { Encoding _Type = Encoding.GetEncoding("Shift_JIS"); protected FileResult LocalReader(string path) { try { FileResult fileResult = new FileResult(); using (StreamReader sr = new StreamReader(path, _Type)) { string line; while ((line = sr.ReadLine()) != null) { fileResult.Line.Add(line); } } return fileResult; } catch { return null; } } protected FileResult UrlReader(string url) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.UserAgent = "Monazilla/1.00(Jien2ch/Lib2ch)"; req.AddRange(0); req.KeepAlive = false; req.Headers.Add("Pragma", "no-cache"); req.Headers.Add("Cache-Control", "no-cache"); WebResponse res = null; FileResult fileResult = new FileResult(); try { res = req.GetResponse(); } catch (WebException) { return fileResult; } using (Stream stream = res.GetResponseStream()) { using (StreamReader sr = new StreamReader(stream, _Type)) { string line; while ((line = sr.ReadLine()) != null) { fileResult.Line.Add(line); } } } return fileResult; } protected bool LocalWriter(string dir, string file, List string writeData) { if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } try { using (StreamWriter sw = new StreamWriter(dir + file, false, _Type)) { sw.NewLine = "\n"; foreach (string line in writeData) { sw.WriteLine(line); } } return true; } catch { return false; } } } } FileManager.cs using Lib2ch.Data; namespace Lib2ch.IO { class FileManager File { public FileResult StandardCheck(string path, string host, string fileName) { FileResult fileResult = new FileResult(); fileResult = LocalReader(path + fileName); if (fileResult == null) { // サーバーからダウンロード fileResult = UrlReader(host + fileName); if (fileResult == null) return null; // ファイルの書き込み if (!LocalWriter(path, fileName, fileResult.Line)) { return null; } } return fileResult; } } } namespace Lib2ch.Model BbsMenu.cs using System.Collections.Generic; using Lib2ch.Data; using Lib2ch.IO; namespace Lib2ch.Model { // 板一覧 public class BbsMenu { string _Path = "./Log"; string _FileName = "/bbsmenu.html"; string _Host = "http //menu.2ch.net"; string _CateStart = " BR BR B "; string _CateEnd = " /B "; string _BbsStart = " A HREF="; string _UrlEnd1 = "/ "; string _UrlEnd2 = "/ TARGET=_blank "; string _BbsEnd = " /A "; FileManager _File = new FileManager(); public List BbsMenuItem GetMenuList() { // ファイルの有無 FileResult fileResult = _File.StandardCheck(_Path, _Host, _FileName); if (fileResult == null) return null; // 解析処理 return BbsMenuParsing(fileResult.Line); } List BbsMenuItem BbsMenuParsing(List string data) { List BbsMenuItem list = new List BbsMenuItem (); string parent = null; foreach (string line in data) { // カテゴリ // BR BR B (parent) /B int index1 = line.IndexOf(_CateStart); if (index1 != -1) { int index2 = line.IndexOf(_CateEnd); if (index2 != -1) { int start = index1 + _CateStart.Length; parent = line.Substring(start, index2 - start); } } if (parent == null) continue; BbsMenuItem item = BbsMenuFindLine(line, _BbsStart, _UrlEnd1, _BbsEnd); if (item == null) { item = BbsMenuFindLine(line, _BbsStart, _UrlEnd2, _BbsEnd); } if (item != null) { item.Category = parent; list.Add(item); } } return list; } // 板のURLと名前を取得 // A HREF=(Url)/ (Name) /A // A HREF=(Url)/ TARGET=_blank (Name) /A BbsMenuItem BbsMenuFindLine(string line, string word1, string word2, string word3) { int index1 = line.IndexOf(word1); if (index1 == -1) return null; int index2 = line.IndexOf(word2); if (index2 == -1) return null; int index3 = line.IndexOf(word3); if (index3 == -1) return null; BbsMenuItem item = new BbsMenuItem(); int start1 = index1 + word1.Length; int start2 = index2 + word2.Length; item.Url = line.Substring(start1, index2 - start1); item.BbsName = line.Substring(start2, index3 - start2); return item; } } } Subject.cs using Lib2ch.Data; using Lib2ch.IO; namespace Lib2ch.Model { // スレッド一覧 public class Subject { FileManager _File = new FileManager(); public SubjectList Get(BbsMenuItem bbsMenuItem) { SubjectList subjectList = new SubjectList(); subjectList.BbsName = bbsMenuItem.BbsName; subjectList.Url = bbsMenuItem.Url; subjectList.Category = bbsMenuItem.Category; FileResult fileResult = _File.StandardCheck( "./Log" + subjectList.Directory, subjectList.Url, "/subject.txt"); if (fileResult == null) return null; subjectList.Parsing(fileResult.Line); return subjectList; } } } ThreadDat.cs using Lib2ch.Data; using Lib2ch.IO; namespace Lib2ch.Model { public class ThreadDat { FileManager _File = new FileManager(); public Dat Get(SubjectData subjectData) { Dat dat = new Dat(); dat.Category= subjectData.Category; dat.BbsName= subjectData.BbsName; dat.Url= subjectData.Url; dat.FileName= "/" + subjectData.FileName; dat.Title= subjectData.Title; dat.Count= subjectData.Count; FileResult fileResult = _File.StandardCheck( "./Log" + dat.Directory, dat.Url + "/dat/", dat.FileName); if (fileResult == null) return null; dat.Parsing(fileResult.Line); return dat; } } }
https://w.atwiki.jp/poseisokuchimatome/pages/20.html
_,,..,,,,_ ./ ・ω・ ヽ_ l__/ ̄ ̄ ̄/_ \/ / < ここは今までの「ぽのガイドライン」の過去スレッドです。  ̄ ̄ ※現在、スレッド設立は休止となっています。 ./ -ω-ヽ のガイドライン http //ex13.2ch.net/test/read.cgi/gline/1117265235/ ./ -ω-ヽ /・ω・ ヽ「ぽ」のガイドライン http //ex13.2ch.net/test/read.cgi/gline/1141489198/ ./ -ω-ヽ /・ω・ ヽ「ぽ」のガイドライン http //ex13.2ch.net/test/read.cgi/gline/1146669773/ ./ -ω-ヽ /・ω・ ヽ「ぽ」のガイドライン http //ex13.2ch.net/test/read.cgi/gline/1151724755/ ./ -ω-ヽ ( ω } /・ω・ ヽ「ぽ」のガイドライン http //ex13.2ch.net/test/read.cgi/gline/1155131192/ /・ω・ ヽ「ぽ」のガイドライン http //ex13.2ch.net/test/read.cgi/gline/1158663421/ /,,・ω・,,ヽ「ぽ」のガイドライン http //ex13.2ch.net/test/read.cgi/gline/1162470891/ /-ω-ヽ「ぽ」のガイドライン http //ex13.2ch.net/test/read.cgi/gline/1165105042/ /-ω-ヽ (Д゚)「ぽ」のガイドライン http //ex13.2ch.net/test/read.cgi/gline/1168217051/ /-ω・ヽ 「ぽ」のガイドライン http //ex20.2ch.net/test/read.cgi/gline/1171069919/ /-ω-ヽ┗/・`ω ・ヽ┛「ぽ」のガイドライン http //ex20.2ch.net/test/read.cgi/gline/1173517810/ /-ω-ヽ/-ω-ヽ/-ω-ヽ「ぽ」のガイドライン http //ex20.2ch.net/test/read.cgi/gline/1176131575/ /-ω-ヽ 「ぽ」のガイドライン http //ex20.2ch.net/test/read.cgi/gline/1179324456/ / ・ω・ヽ/゙゚iWi゚ ヽ 「ぽ」のガイドライン http //ex20.2ch.net/test/read.cgi/gline/1183986985/ ヽ/ ・ω・ヽノ 「ぽ」のガイドライン http //ex20.2ch.net/test/read.cgi/gline/1188485960/ / ・ω・ヽ(゚Д゚)/ ・ω・ヽ 「ぽ」のガイドライン http //ex20.2ch.net/test/read.cgi/gline/1192960352/ / ・ω・ヽl .3 ヽ/ ・ω・ヽ「ぽ」のガイドライン http //society6.2ch.net/test/read.cgi/gline/1196595254/ ヽヾ ・ω・ 彡「ぽ」のガイドライン http //society6.2ch.net/test/read.cgi/gline/1202773977/ (~);・(エ)・(~) / ・ω・;ヽ「ぽ」のガイドライン http //society6.2ch.net/test/read.cgi/gline/1213887106/ 三 ./ ・ω・ 「ぽ」のガイドライン http //society6.2ch.net/test/read.cgi/gline/1227882238/ ミ・ω・ 彡「ぽ」のガイドライン http //society6.2ch.net/test/read.cgi/gline/1247440440/ ./ ・ω・ヽ「ぽ」のガイドライン http //kamome.2ch.net/test/read.cgi/gline/1284210734/ / -ωヽ 「ぽ」のガイドライン http //kamome.2ch.net/test/read.cgi/gline/1306230733/ ▼・ω・▼「ぽ」のガイドライン http //anago.2ch.net/test/read.cgi/gline/1319708335/ / ・ω・ ヽ ヽ.ヽ ヽ.ヽ「ぽ」のガイドライン http //anago.2ch.net/test/read.cgi/gline/1331981518/ ./ ・ωヽ/-ω-ヽ「ぽ」のガイドライン http //anago.2ch.net/test/read.cgi/gline/1343232279/ AAサロン板 / ・ω・ヽぽ http //peace.2ch.net/test/read.cgi/aasaloon/1412257327/l50
https://w.atwiki.jp/daitokai/pages/34.html
ニュー速クオリティ 2ch内の誹謗中傷が元で自殺? http //news4vip.livedoor.biz/archives/51083074.html ( ;^ω^)<へいわぼけ 2ch内の誹謗中傷が元で自殺?(7スレ目までログあり) http //www.heiwaboke.com/2007/11/2ch_4.html 上記まとめサイトをまとめた動画 http //www.nicovideo.jp/watch/sm1459680 にゅーあきばどっとこむ:池袋パルコ屋上から飛び降り自殺をした女性のブログ http //www.new-akiba.com/archives/2007/11/post_12277.html 抜粋(※これとサイトのURLのみしかない) 先日は2ちゃんねるでの誹謗中傷が原因で女子中学生が自殺したとの話が出ていた。「2chのまとめ」や「明日からはいつも通り、皆楽しんでいこう!まとめ」に情報がまとめられている。また「へいわぼけ」や「【2ch】ニュー速クオリティ」で2ちゃんねるでの反応が見られる。
https://w.atwiki.jp/sampleisbest/pages/182.html
開発環境 Microsoft Visual C# 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Windows フォーム アプリケーション プロジェクト名 Jien2ch Jien2chプロジェクトにクラスを追加。 テンプレート:クラス 名前:ListViewEx textBox1を削除。 コンテナー/SplitContainerをPanel2上にドロップ。 名前:splitContainer2 プロパティ FixedPanel Panel1 Orientation Horizontal Jien2ch コンポーネント/ListViewExをsplitContainer2.Panel1上にドロップ。 名前:listViewEx1 プロパティ Dock Fill コモン コントロール/TextBoxをsplitContainer2.Panel2上にドロップ。 名前:textBox1 プロパティ Dock Fill MultiLine True ScrollBars Vertical treeView1にAfterSelectイベントハンドラを追加。 +Jien2ch +Form1.cs +Form1.Designer.cs +ListViewEx.cs +Program.cs +Lib2ch +Data +Data.cs +IO +IO.cs +Model +BbsMenu.cs +Subject.cs Form1.cs using System.Collections.Generic; using System.Windows.Forms; using Lib2ch.Data; using Lib2ch.Model; namespace Jien2ch { public partial class Form1 Form { Subject _Subject = new Subject(); public Form1() { InitializeComponent(); #region 板一覧 BbsMenu bbsMenu = new BbsMenu(); List BbsMenuItem bbsMenuList = bbsMenu.GetMenuList(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (BbsMenuItem item in bbsMenuList) { TreeNode childNode = new TreeNode(); childNode.Text = item.BbsName; childNode.Tag = item; // 親ノード検索 TreeNode[] node = treeView1.Nodes.Find(item.Category, false); if (node.Length == 0) { TreeNode parent = new TreeNode(); parent.Name = item.Category;// 検索用 parent.Text = item.Category;// 表示用 parent.Nodes.Add(childNode); treeView1.Nodes.Add(parent); } else { node[0].Nodes.Add(childNode); } sb.Append(item.Category + item.BbsName + item.Url + "\r\n"); } textBox1.Text = sb.ToString(); #endregion } #region 板一覧アイテム選択時 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.Tag != null) { ThreadListAdd((BbsMenuItem)e.Node.Tag); } } // スレッド一覧 void ThreadListAdd(BbsMenuItem bbsMenuItem) { SubjectList subjectList = _Subject.Get(bbsMenuItem); listViewEx1.ItemSet(subjectList); } #endregion } } ListViewEx.cs using System.Windows.Forms; using Lib2ch.Data; namespace Jien2ch { class ListViewEx ListView { public ListViewEx() { // プロパティ View = View.Details; FullRowSelect = true; GridLines = true; // 列ヘッダ Columns.Add("!", 20);// 1列目は右寄せできないのでダミー Columns.Add("番号", 40, HorizontalAlignment.Right); Columns.Add("タイトル", 450); Columns.Add("レス", 40, HorizontalAlignment.Right); } public void ItemSet(SubjectList subjectList) { ListViewItem[] item = new ListViewItem[subjectList.List.Count]; int num = 0;// 番号 foreach (SubjectData data in subjectList.List) { string[] line = new string[4]; line[1] = (num + 1).ToString(); line[2] = data.Title; line[3] = data.Count.ToString(); item[num] = new ListViewItem(line); item[num].Tag = data; num++; } Items.AddRange(item); Tag = subjectList; } } } Data.cs using System; using System.Collections.Generic; namespace Lib2ch.Data { // ファイル結果 class FileResult { public string[] Line;// 行リスト } // 板一覧アイテム public class BbsMenuItem { public string Category;// カテゴリ public string BbsName;// 板名 public string Url;// URL public string Directory { get { return Category + "/" + BbsName + "/"; } } } // スレッドデータ public class SubjectData { string FileName;// スレッドファイル名(.dat) public string Title;// タイトル public int Count;// レス数 public SubjectData(string line) { if (line == "") return; FileName= line.Substring(0, 14); int start= line.LastIndexOf("("); int end= line.LastIndexOf(")"); Count = Convert.ToInt32(line.Substring(start + 1, end - (start + 1))); Title= line.Substring(16, start - 16); } } // スレッド一覧 public class SubjectList BbsMenuItem { public List SubjectData List = new List SubjectData (); public SubjectList(BbsMenuItem item) { Category= item.Category; BbsName= item.BbsName; Url= item.Url; } public void Parsing(string[] data) { foreach (string line in data) { SubjectData subjectData = new SubjectData(line); List.Add(subjectData); } } } } IO.cs using System.IO; using System.Net; using System.Text; using Lib2ch.Data; namespace Lib2ch.IO { class FileManager { public FileResult StandardCheck(string dir, string host, string file) { FileResult fileResult = LocalReader(dir + file); if (fileResult == null) { // サーバーからダウンロード Download(dir, host, file); fileResult = LocalReader(dir + file); } return fileResult; } FileResult LocalReader(string path) { try { FileResult fileResult = new FileResult(); fileResult.Line = File.ReadAllLines(path, Encoding.Default); return fileResult; } catch { return null; } } bool Download(string dir, string host, string file) { if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } try { WebClient wc = new WebClient(); wc.DownloadFile(host + file, dir + file); return true; } catch { return false; } } } } BbsMenu.cs using System.Collections.Generic; using Lib2ch.Data; using Lib2ch.IO; namespace Lib2ch.Model { public class BbsMenu { const string _CateStart = " BR BR B "; const string _CateEnd = " /B "; const string _BbsStart = " A HREF="; const string _UrlEnd1 = " TARGET=_blank "; const string _UrlEnd2 = " "; const string _BbsEnd = " /A "; FileManager _File = new FileManager(); public List BbsMenuItem GetMenuList() { // ファイルの有無 FileResult fileResult = _File.StandardCheck( "./Log/", "http //menu.2ch.net/", "bbsmenu.html"); if (fileResult == null) return null; // 解析処理 return BbsMenuParsing(fileResult.Line); } List BbsMenuItem BbsMenuParsing(string[] data) { List BbsMenuItem list = new List BbsMenuItem (); string category = null; foreach (string line in data) { int index1 = line.IndexOf(_CateStart); if (index1 != -1) { int index2 = line.IndexOf(_CateEnd); if (index2 != -1) { int start = index1 + _CateStart.Length; category = line.Substring(start, index2 - start); } } if (category == null) continue; BbsMenuItem item = BbsMenuFindLine(line, _BbsStart, _UrlEnd1, _BbsEnd); if (item == null) { item = BbsMenuFindLine(line, _BbsStart, _UrlEnd2, _BbsEnd); } if (item != null) { item.Category = category; list.Add(item); } } return list; } BbsMenuItem BbsMenuFindLine(string line, string word1, string word2, string word3) { int index1 = line.IndexOf(word1); if (index1 == -1) return null; int start1 = index1 + word1.Length; int index2 = line.IndexOf(word2, start1); if (index2 == -1) return null; int start2 = index2 + word2.Length; int index3 = line.IndexOf(word3, start2); if (index3 == -1) return null; BbsMenuItem item = new BbsMenuItem(); item.Url = line.Substring(start1, index2 - start1); item.BbsName = line.Substring(start2, index3 - start2); return item; } } } Subject.cs using Lib2ch.Data; using Lib2ch.IO; namespace Lib2ch.Model { public class Subject { FileManager _File = new FileManager(); public SubjectList Get(BbsMenuItem bbsMenuItem) { FileResult fileResult = _File.StandardCheck( "./Log/" + bbsMenuItem.Directory, bbsMenuItem.Url, "subject.txt"); if (fileResult == null) return null; SubjectList subjectList = new SubjectList(bbsMenuItem); subjectList.Parsing(fileResult.Line); return subjectList; } } }
https://w.atwiki.jp/twkakuriwiki/pages/208.html
ErrorPageVersion 2ch隔離テンプレDOPランキング1 2ch隔離テンプレ1 テンプレ系 トップページ
https://w.atwiki.jp/news_sourse/pages/21.html
2ch検索 [豊郷小] http //find.2ch.net/?STR=%CB%AD%B6%BF%BE%AE 2ch DAT落ちスレ ミラー変換機 ver_12 http //mirrorhenkan.g.ribbon.to/ ウェブ魚拓 http //megalodon.jp/ BackupURL_com - Back Up Any URL! http //backupurl.com/ Snapshot_2ch http //ss.chbox.jp/ 【アニメ】「けいおん!」のモデルになった豊郷小学校でギターの盗難発生! 聖地巡礼で多くのファンが訪れていた http //gimpo.2ch.net/test/read.cgi/moeplus/1273162972//l50 1 : ◆HDK/S/42EA @裸一貫で墜落φ ★:2010/05/07(金) 01 22 52 ID ??? 総レス数 221 【滋賀】ギター、フィギュアなど「けいおん!」グッズ20点以上と現金29万円が盗難…豊郷小学校旧校舎 - 萌えニュース+板@2ch http //toki.2ch.net/test/read.cgi/moeplus/1289967446/l50 1 :あやめφ ★:2010/11/17(水) 13 17 26 ID ??? 総レス数 429 【滋賀】「けいおん!! 」ギター盗まれる=モデルの豊郷小旧校舎で http //kamome.2ch.net/test/read.cgi/newsplus/1289972377/l50 1 名前: そーきそばφ ★: 2010/11/17(水) 14 39 37 ID ???0 総レス数 675 【滋賀】豊郷小旧校舎から盗まれたギターなどが見つかる http //toki.2ch.net/test/read.cgi/moeplus/1290221954/l50 1 :あやめφ ★:2010/11/20(土) 11 59 14 ID ??? 総レス数 125 【滋賀】盗まれた「けいおん!」のギターとベースを発見 田んぼの側溝で見つかる http //kamome.2ch.net/test/read.cgi/newsplus/1290247900/l50 1 :そーきそばφ ★:2010/11/20(土) 19 11 40 ID ???0 36 :名無しさん@十一周年:2010/11/20(土) 19 25 29 ID buDorgBw0 元々ここの校舎を取り壊す取り壊さないで、どういう利権の人たちが動いたか、覚えてる人少ないんだね・・・。 95 :名無しさん@十一周年:2010/11/20(土) 20 51 19 ID IM58Z0Gx0 36 ヲタはプロ市民に感謝すべきだよなw http //www.youtube.com/watch?v=aFruEDe6pXc やめてーなお兄さん!! ドガッ! あぁ・・のりちゃん!! 懐かしすぎる 99 :名無しさん@十一周年:2010/11/20(土) 20 56 34 ID IM58Z0Gx0 この当時、当たり前だけど2chではプロ市民叩き 児童はプレハブの仮校舎での授業をしている 解体が長引けば迷惑するのは児童。さっさと解体しろ 町長の髪型キモい って論調だったな 今同じこと言ったらヲタに吊るし上げ食らうw 【滋賀】けいおん!の舞台・豊郷小で盗まれたギターやベースが付近の田んぼに投げ捨てられていた http //raicho.2ch.net/test/read.cgi/newsplus/1290360062/l50 1 :ヨイヨイ帝φ ★:2010/11/22(月) 02 21 02 ID ???0 総レス数 73 豊郷小学校から盗まれた例のギター 生還 http //yuzuru.2ch.net/test/read.cgi/poverty/1292319486/l50 1 : 番組の途中ですがアフィサイトへの転載は禁止です:2010/12/14(火) 18 38 06 ID ya6D2TUx0 ?2BP(4700) 総レス数 12 【滋賀】「けいおん!!」聖地豊郷小学校で盗まれた楽器類が無傷で生還 http //toki.2ch.net/test/read.cgi/moeplus/1292376586/l50 1 : ◆YKPE/zzQbM @ゆきぺφ ★ [sage] : 2010/12/15(水) 10 29 46 ID ??? 総レス数 29 【社会】豊郷小学校旧校舎からフィギュアなどを盗んだ疑いで和歌山の少年2人を逮捕 - 萌えニュース+板@2ch http //toki.2ch.net/test/read.cgi/moeplus/1296801120/l50 1 :あやめφ ★:2011/02/04(金) 15 32 00 ID ???